/*
尝试在新的功能包中使用上一节中（demo03_pluginlib里面）写好的插件
*/
#include "pluginlib/class_loader.h"
//很奇怪，在json中配置了路径，为什么编译的时候就是找不到，必须写完整路径
#include "/home/ladisson/ROS/demo06_ws/src/demo03_pluginlib/include/demo03_pluginlib/dbx_base.h"

int main(int argc, char *argv[])
{
    setlocale(LC_ALL, "");
    //类加载
    pluginlib::ClassLoader<dbx_base_ns::Dbx_Base>
        loader("demo03_pluginlib", "dbx_base_ns::Dbx_Base"); //参数为：功能包，基类名称
    //创建插件类实例
    boost::shared_ptr<dbx_base_ns::Dbx_Base> triangle =
        loader.createInstance("dbx_plugins_ns::SanBian"); //参数为：子类名称
    //使用插件
    triangle->initlength(10);
    double zc = triangle->getZC();
    ROS_INFO("在新的功能包中使用插件，三角形周长为:%f", zc);
    return 0;
}
